/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entidades;
import tipos.Matricula;
/**
 * Classe que modela a entidade funcionário.
 * @author Daniel Saad
 */
public class Funcionario extends Pessoa {
    /**Atributo matricula.**/
    private String matricula;

    /**
     * Contrutor vazio.
     * @param matriculaParam matricula do funcionario.
     * @exception NullpointerException
     * @exception IllegalArgumentException
     */
    public Funcionario(final String  matriculaParam) {
        setMatricula(matriculaParam);
    }

    /**
     * Construtor.
     * @param nome Nome do objeto a ser construido.
     * @param telefone Telefone do objeto a ser construido.
     * @param matriculaParam Matricula do objeto a ser construido.
     */
    public Funcionario(final String nome, final  String telefone,
            final  String matriculaParam) {
        super(nome, telefone);
        setMatricula(matriculaParam);
    }
    /**
     * Método get.
     * @return matricula matricula do funcionário.
     */
    public final String getMatricula() {
        return matricula;
    }
    /**
     * Método set.
     * @param matriculaParam seta a matricula do funcionário
     * @exception NullPointerException
     * @exception IllegalArgumentException
     */
    public final void setMatricula(final String matriculaParam) {
        Matricula.validar(matriculaParam);
        this.matricula = matriculaParam;
    }
}
